#include<bits/stdc++.h>
using namespace std;
int w[100000] , v[100000];
long long dp[100000];
int main(){
	int m , n;
	cin >> n >> m;
	for(int i =1 ; i <= n ; i++){
		cin >> w[i] >> v[i];
	}
	for(int i = 1 ; i <= n ; i++){
		for(int j = m ; j >= w[i] ; j--){
			dp[j] = max(dp[j] , dp[j - w[i]] + v[i]);
		}
	}
	cout << dp[m] << endl;
	return 0;
}
